Existing compliance and security systems for enterprise environments employ the use of agents for monitoring system integrity and reporting changes to one or more centralized compliance servers. However, existing agents are limited in a number of ways. Known examples of compliance agents are implemented as a monolithic Java agent that must be connected to a server almost continuously. Further, existing agents do not allow for plugins, quarantine, prioritizing of messaging, or disconnected operation. Accordingly, there is ample opportunity for improvement in the implementation of agents for monitoring system integrity and reporting changes.